package eu.telecom_bretagne.RECRUT.service;

import java.util.List;
import java.util.Set;

import javax.ejb.EJB;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;

import eu.telecom_bretagne.RECRUT.data.dao.CandidatureDAO;
import eu.telecom_bretagne.RECRUT.data.dao.DossierCandidatureDAO;
import eu.telecom_bretagne.RECRUT.data.model.Candidature;
import eu.telecom_bretagne.RECRUT.data.model.DossierCandidature;

/**
 * Session Bean implementation class ServiceCandidature
 */
@Stateless
@LocalBean
public class ServiceCandidature implements IServiceCandidature {
	
	@EJB
	CandidatureDAO candidatureDAO;
	@EJB
	DossierCandidatureDAO dossierCandidatureDAO;

	/**
	 * Default constructor.
	 */
	public ServiceCandidature() {
	}

	@Override
	public List<Candidature> listeCandidatures() {

		return candidatureDAO.findAll();
	}

	@Override
	public Candidature lireCandidature(int id) {

		return candidatureDAO.findById(id);
	}

	@Override
	public void supprimerCandidature(int id) {

		Candidature candidature = candidatureDAO.findById(id);

		Set<DossierCandidature> dossierCandidats = candidature.getDossierCandidatures();
		
		for (DossierCandidature dossierCandidat : dossierCandidats){
			dossierCandidat.getCandidature().removeDossierCandidature(dossierCandidat);
			dossierCandidatureDAO.update(dossierCandidat);
		}

		candidatureDAO.delete(candidature);

	}

	@Override
	public List<Candidature> listeCandidatureNotUse() {
		// TODO Auto-generated method stub
		return null;
	}

}
